Continued growth of various networks (e.g., the Internet) and new network applications (e.g., multimedia) have been creating a demand for higher bandwidth capabilities of network service providers. One way to increase network bandwidth is to provide for higher forwarding and/or routing performance within the network.
A conventional router typically performs network layer (i.e., Layer 3 of the Open System Interconnection model) processing of data packets (e.g., Internet protocol (IP) data packets) using a single centralized routing/forwarding processor for routing and forwarding data packets. The centralized routing/forwarding processor is typically connected with a plurality of ports for receiving and transmitting the data packets. The centralized routing/forwarding processor computes and stores a master routing table using information contained in intercepted routing protocol packets. Using the master routing table, the routing/forwarding processor controls the actual switching of the data packets between each of the line cards. Thus, in conventional routers, network layer processing for all of the ports is performed by a single centralized routing/forwarding processor.
A problem with centralizing the forwarding and routing of data packets is that a bottleneck may be created. Existing architectures can typically handle a maximum load of only a few hundred thousand data packets per second. Modifications to the basic conventional architecture for increasing router performance are known, such as by using route-caching, gigabit routing, short-cut routing, or IP switching. However, many of these methods are expensive to implement, do not allow convenient expansion of router capacity (e.g., as the network expands), and/or have other significant limitations that make such methods problematic or impractical. Thus, in order to increase the performance of routers, significant changes to the conventional architectures and routing methods are required.